#include <iostream>
#include <map>
using namespace std;

/*
    map容器
        作用：存放键值对
        同一个键，不能有多个值
        同一个值，可以有多个键
*/

int main()
{
    map<string, string> map1;

    // 写法一：使用insert插入数据
    // pair 模板类 表示一个键值对 make_pair 自动推断类型
    map1.insert(pair<string, string>("张三", "2528班级"));
    map1.insert(make_pair("李四", "2528班级"));
    map1.insert(pair<string, string>("王五", "2528班级"));

    // 写法二：使用[]插入数据
    map1["小王"] = "2528班级";

    // 遍历map,使用迭代器
    // auto it = map1.begin();
    // for (; it != map1.end(); it++)
    // {
    //     cout << it->first << " " << it->second << endl;
    // }
    // 遍历map,使用范围for  const auto& pair 只读遍历  auto pair 读写遍历
    for(const auto& pair : map1)
    {
        cout << pair.first << " " << pair.second << endl;
    }

    return 0;
}
